package com.demo.data.struct.tree.tree234;

import java.io.*;

/**多路查找树：其每一个结点的孩子数可以多于两个，且每一个结点处可以存储多个元素。由于它是查找树，所有元素之间存在某种特定的排序关系。
 * 2-3树：其中的每一个结点都具有两个孩子（2结点）或三个孩子（3结点）。
 * 一个2结点包含一个元素和两个孩子（或没有孩子），且与二叉排序树类似，左子树包含的元素小于该元素，右子树包含的元素大于该元素，不过，与二叉树不同的是，这个2结点要么没有孩子，要有就有两个，不能只有一个孩子。
 * 一个3结点包含一小一大两个元素和三个孩子（或没有孩子），一个3结点要么没有孩子，要么具有3个孩子。如果某个3结点有孩子的话，左子树包含小于较小元素的元素，右子树包含大于较大元素的元素，中间子树包含介于两个元素之间的元素。
 * 2-3树中所有的叶子都在同一层次上。
 * @author zhangsulei
 *
 */
public class Tree234Test {

	public static void main(String[] args) throws IOException {
		Tree234 theTree = new Tree234();

		theTree.insert(50);
		theTree.insert(40);
		theTree.insert(60);
		theTree.insert(30);
		theTree.insert(70);
		theTree.insert(20);
		theTree.insert(10);
		theTree.insert(5);
		theTree.insert(1);
		theTree.insert(55);
		theTree.insert(65);
		theTree.insert(80);
		theTree.insert(90);
		theTree.insert(100);
		//-----------------------------
		theTree.insert(77);
		theTree.insert(89);
		theTree.insert(62);
		theTree.insert(12);
		theTree.insert(16);
		theTree.insert(8);
		theTree.insert(25);
		theTree.insert(98);

		theTree.displayTree();
	}

}
